package com.xuecheng.api.content.model;

import com.xuecheng.api.content.model.dto.TeachplanDTO;
import com.xuecheng.api.content.model.dto.TeachplanMediaDTO;
import com.xuecheng.api.content.model.vo.BindTeachplanMediaVO;
import com.xuecheng.api.content.model.vo.TeachplanVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;

@Api(value = "课程计划接口")    //说明该接口
public interface TeachplanApi {

    /**todo
     *     name = "courseId",   参数名字
     *     value = "课程id",     参数说明
     *     required = true,    是否需要传参
     *     dataType = "Long",   参数类型
     *     paramType = "path")   前端访问后端,传该参数的方式   path传参
     */
    @ApiOperation(value = "根据课程id查询课程计划树形结构数据")  //方法说明
    @ApiImplicitParam(name = "courseId",value = "课程id",required = true,dataType = "Long",paramType = "path")
     TeachplanDTO queryTreeNodes(Long courseId);
    @ApiOperation(value = "课程计划添加和修改")
    @ApiImplicitParam(name = "teachplanVO",value = "前端传给后端的数据",required = true,dataType = "TeachplanVO",paramType = "body")
    TeachplanDTO createOrModifyTeachPlan(TeachplanVO teachplanVO);
    @ApiOperation("删除课程计划")
    @ApiImplicitParam(name = "teachPlanId",value = "课程计划id",required = true,dataType = "Long",paramType = "path")
    void removeTeachPlan(Long teachPlanId);
    @ApiOperation("远程调用课程计划绑定媒资信息")
    TeachplanMediaDTO associationTeachplanMedia(BindTeachplanMediaVO vo);
}
